
let path = require("path");  // 内置模块 -> 文件路径相关
// console.log(path);

// 路径相关的变量
// console.log(__dirname);   // 当前文件所在目录(文件夹)
// console.log(__filename);  // 当前文件路径
// console.log(process.cwd());  // 终端所在位置


var str = "C:/Users/怀霜凌志/Desktop/2217/day34/official/path.js";
// console.log(str);

// 路径解析
// path.parse()    将传入的文件路径解析为对象
// var data = path.parse(str);
// console.log(data);

// path.format()  传入一个文件路径相关的对象 -> 解析为字符串
// var str = path.format(data);
// console.log(str);

// console.log(path.dirname(str));  // 返回路径中的目录部分
// console.log(path.basename(str)); // 返回路径中的文件名加后缀
// console.log(path.extname(str));  // 返回路径中的后缀部分

// 路径拼接
// path.resolve([from ...], to) 将 to 参数解析为绝对路径，给定的路径的序列是从右往左被处理的，后面每个 path 被依次解析，直到构造完成一个绝对路径。

// __dirname =>  C:/Users/怀霜凌志/Desktop/2217/day34/official
// var str = path.resolve(__dirname, "./events.js");
// console.log(str);

// var str = path.resolve(__dirname, "./a", "./b", "c.js");
// console.log(str);

// var str = path.resolve(__dirname, "./a", "../b", "c.js");
// console.log(str);

// var str = path.resolve(__dirname, "a", "/b", "c.js");
// console.log(str); // c:/b/c.js


// path.join()   将所有给定的 path 片段连接在一起，然后规范化生成的路径。
// var str = path.join(__dirname, "./events.js");
// console.log(str);

// var str = path.join(__dirname, "./a", "./b", "c.js");
// console.log(str);

// var str = path.join(__dirname, "./a", "../b", "c.js");
// console.log(str);

// var str = path.join(__dirname, "a", "/b", "c.js");
// console.log(str);


// 接收两个目录  -> 从前一个目录到后一个目录的相对路径
// path.relative(from, to) 方法根据当前工作目录返回从 from 到 to 的相对路径。 如果 from 和 to 都解析为相同的路径（在分别调用 path.resolve() 之后），则返回零长度字符串。

var str = path.relative("a/b", "a/c");
console.log(str);



